package com.atguigu.service.impl;

import com.atguigu.dao.ContainerVolumeMapDao;
import com.atguigu.dao.impl.ContainerVolumeMapDaoImpl;
import com.atguigu.pojo.ContainerVolumeMap;
import com.atguigu.pojo.Page;
import com.atguigu.service.ContainerVolumeMapService;

import java.util.List;

public class ContainerVolumeMapServiceImpl implements ContainerVolumeMapService {
    ContainerVolumeMapDao containerVolumeMapDao=new ContainerVolumeMapDaoImpl();
    @Override
    public void addContainerVolumeMap(ContainerVolumeMap containerVolumeMap) {
        containerVolumeMapDao.addContainerVolumeMap(containerVolumeMap);
    }

    @Override
    public void updateContainerVolumeMap(ContainerVolumeMap containerVolumeMap) {
        containerVolumeMapDao.updateContainerVolumeMap(containerVolumeMap);
    }

    @Override
    public void deleteContainerVolumeMapById(String id) {
        containerVolumeMapDao.deleteContainerVolumeMapById(id);
    }
    @Override
    public void deleteContainerVolumeMapByContainerId(String containerId){
        containerVolumeMapDao.deleteContainerVolumeMapByContainerId(containerId);
    }
    @Override
    public ContainerVolumeMap queryContainerVolumeMapById(String id) {
        ContainerVolumeMap containerVolumeMap=containerVolumeMapDao.queryContainerVolumeMapById(id);
        return containerVolumeMap;
    }

    @Override
    public List<ContainerVolumeMap> queryContainerVolumeMapsByServerId(String serverId) {
        List<ContainerVolumeMap> containerVolumeMaps=containerVolumeMapDao.queryContainerVolumeMapsByServerId(serverId);
        return containerVolumeMaps;
    }

    @Override
    public List<ContainerVolumeMap> queryContainerVolumeMapsByName(String containerVolumeMapName) {
        List<ContainerVolumeMap> containerVolumeMaps=containerVolumeMapDao.queryContainerVolumeMapsByName(containerVolumeMapName);
        return containerVolumeMaps;
    }
    @Override
    public List<ContainerVolumeMap> queryContainerVolumeMapsByServerIdAndContainerVolumeMapName(String serverId, String containerVolumeMapName) {
        List<ContainerVolumeMap> containerVolumeMaps=containerVolumeMapDao.queryContainerVolumeMapsByServerIdAndContainerVolumeMapName(serverId,containerVolumeMapName);
        return containerVolumeMaps;
    }

    @Override
    public List<ContainerVolumeMap> queryContainerVolumeMaps() {
        List<ContainerVolumeMap> containerVolumeMaps=containerVolumeMapDao.queryContainerVolumeMaps();
        return containerVolumeMaps;
    }
    @Override
    public List<ContainerVolumeMap> queryContainerVolumeMapsByContainerId(String containerId){
        List<ContainerVolumeMap> containerVolumeMaps=containerVolumeMapDao.queryContainerVolumeMapsByContainerId(containerId);
        return containerVolumeMaps;
    }

    @Override
    public Page page(Integer pageNo, Integer pageSize) {
        Page<ContainerVolumeMap> page=new Page<>();
        page.setPagesize(pageSize);
        Integer pageTotalCount=containerVolumeMapDao.queryForPageTotalCount();
        page.setPageTotalCount(pageTotalCount);
        Integer pageTotal=pageTotalCount/pageSize;
        if(pageTotalCount % pageSize >0){
            pageTotal++;//总条数,除以一页条数,大于0,页码数+1
        }
        page.setPageTotal(pageTotal);
        System.out.println("pageNo 原来是 is:"+pageNo);
        if(pageNo<1){//防止用户输入量太大
            pageNo=1;
        }else if(pageNo>pageTotal){
            pageNo=pageTotal;
        }
        page.setPageNo(pageNo);//当前页码
        System.out.println("pageNo 现在是 is:"+pageNo);
        System.out.println("pageTotal is:"+pageTotal);
        //要得到的是page的items
        Integer begin=(page.getPageNo()-1)*pageSize;
        List<ContainerVolumeMap> items=containerVolumeMapDao.queryForPageItems(begin,pageSize);
        page.setItems(items);
        return page;
    }
}
